home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / intrvews / 3_01-new.lha / iv / src / bin / ibuild / ibprocs.c next >
C/C++ Source or Header  |  1993-08-08  |  2KB  |  61 lines

  1. /*
  2.  * Copyright (c) 1991 Stanford University
  3.  *
  4.  * Permission to use, copy, modify, distribute, and sell this software and its
  5.  * documentation for any purpose is hereby granted without fee, provided
  6.  * that the above copyright notice appear in all copies and that both that
  7.  * copyright notice and this permission notice appear in supporting
  8.  * documentation, and that the name of Stanford not be used in advertising or
  9.  * publicity pertaining to distribution of the software without specific,
  10.  * written prior permission.  Stanford makes no representations about
  11.  * the suitability of this software for any purpose.  It is provided "as is"
  12.  * without express or implied warranty.
  13.  *
  14.  * STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  15.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  16.  * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  17.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  18.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  19.  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
  20.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  21.  */
  22.  
  23. /*
  24.  * Hack to workaround portability problems with setpgrp.
  25.  */
  26.  
  27. #include "ibprocs.h"
  28.  
  29. #if defined(SYSV) && !defined(_BSD_COMPAT)
  30.  
  31. extern "C" {
  32.     extern int setpgrp(void);
  33. };
  34.  
  35. void set_child_process_group() { setpgrp(); }
  36.  
  37. #else
  38.  
  39. #ifdef ultrix
  40.  
  41. #include <sys/types.h>
  42.  
  43. extern "C" {
  44.     extern int setpgrp(int, int);
  45.     extern pid_t getpid();
  46. };
  47.  
  48. void set_child_process_group() { setpgrp(0, getpid()); }
  49.  
  50. #else
  51.  
  52. extern "C" {
  53.     extern int setpgrp(int, int);
  54. };
  55.  
  56. void set_child_process_group() { setpgrp(0, 0); }
  57.  
  58. #endif
  59.  
  60. #endif
  61.